

#ifndef _ZOPMDRVR_H
#define _ZOPMDRVR_H

HRESULT ZXAUTOEXP UcOpmMapPropertyToCategory(IUnknown* pUnk, UCAD_OPMPROPMAP_ENTRY* pMap, DISPID dispid, PROPCAT* ppropcat);
HRESULT ZXAUTOEXP UcOpmGetCategoryName(IUnknown* pUnk, HINSTANCE hResInstance, UCAD_OPMPROPMAP_ENTRY* pMap, PROPCAT propcat, LCID lcid, BSTR* pbstrName);

HRESULT ZXAUTOEXP UcOpmGetCategoryName(IUnknown* pUnk, HINSTANCE hResInstance, CATEGORY_VECTOR & arr, PROPCAT propcat, LCID lcid, BSTR* pbstrName);
HRESULT ZXAUTOEXP UcOpmGetCategoryCommandButtons(IUnknown *pUnk, HINSTANCE hResInstance, CATCMDBTN_VECTOR & arr, PROPCAT propcat, VARIANT *pCatCmdBtns);
HRESULT ZXAUTOEXP UcOpmGetParentCategory(IUnknown *pUnk, CATEGORY_VECTOR & arr, PROPCAT propcat, PROPCAT *pParentCatID);
HRESULT ZXAUTOEXP UcOpmGetCategoryWeight(IUnknown *pUnk, CATEGORY_VECTOR & arr, PROPCAT propcat, long *pCategoryWeight);
HRESULT ZXAUTOEXP UcOpmGetCategoryDescription(IUnknown *pUnk, HINSTANCE hResInstance, CATEGORY_VECTOR & arr, PROPCAT propcat, LCID lcid, BSTR* pbstrDesc);

HRESULT ZXAUTOEXP UcOpmGetDisplayString(IUnknown* pUnk, UCAD_OPMPROPMAP_ENTRY* pMap, DISPID dispID, BSTR *pBstr);
HRESULT ZXAUTOEXP UcOpmMapPropertyToPage(IUnknown* pUnk, UCAD_OPMPROPMAP_ENTRY* pMap, DISPID dispID, CLSID *pClsid);
HRESULT ZXAUTOEXP UcOpmGetPredefinedStrings(IUnknown* pUnk, HINSTANCE hResInstance, UCAD_OPMPROPMAP_ENTRY* pMap, DISPID dispID, CALPOLESTR *pCaStringsOut, CADWORD *pCaCookiesOut);
HRESULT ZXAUTOEXP UcOpmGetPredefinedValue(IUnknown* pUnk, UCAD_OPMPROPMAP_ENTRY* pMap, DISPID dispID, DWORD dwCookie, VARIANT *pVarOut);

HRESULT ZXAUTOEXP UcOpmGetDisplayName(IUnknown* pUnk, HINSTANCE hResInstance, UCAD_OPMPROPMAP_ENTRY* pMap, DISPID dispID, BSTR *pBstr);
HRESULT ZXAUTOEXP UcOpmEditable(IUnknown* pUnk, UCAD_OPMPROPMAP_ENTRY* pMap, DISPID dispID, BOOL __RPC_FAR *bEditable);
HRESULT ZXAUTOEXP UcOpmShowProperty(IUnknown* pUnk, UCAD_OPMPROPMAP_ENTRY* pMap, DISPID dispID, BOOL *pShow);

HRESULT ZXAUTOEXP UcOpmGetPropertyWeight(IUnknown *pUnk, PROP_DISP_VECTOR & arr, VARIANT Id, long *pPropertyWeight);
HRESULT ZXAUTOEXP UcOpmIsPropFullView(IUnknown *pUnk, PROP_DISP_VECTOR & arr, VARIANT Id, VARIANT_BOOL *pbVisible, DWORD *pIntegralHeight);
HRESULT ZXAUTOEXP UcOpmGetPropTextColor(IUnknown *pUnk, PROP_DISP_VECTOR & arr, VARIANT Id, OLE_COLOR *pTextColor);
HRESULT ZXAUTOEXP UcOpmGetPropertyIcon(IUnknown *pUnk, HINSTANCE hResInstance, PROP_DISP_VECTOR & arr, VARIANT Id, IUnknown **ppIcon);
HRESULT ZXAUTOEXP UcOpmGetCustomPropertyCtrl(IUnknown *pUnk, PROP_DISP_VECTOR & arr, VARIANT Id, LCID lcid, BSTR *psProdId);

HRESULT ZXAUTOEXP UcOpmGetCommandButtons(IUnknown *pUnk, HINSTANCE hResInstance, CMDBTN_VECTOR & arr, VARIANT *pCmdBtns);

#endif 
